package com.zelix;

import java.util.Hashtable;
import java.util.Vector;

public class hl extends vh {

    static final Hashtable g;
    Vector h;
    int i;

    public hl(int j) {
        super(j);
        h = new Vector();
    }

    void a(String s) {
        h.addElement(s);
    }

    public String a() {
        StringBuffer stringbuffer;
        int j;
        int k;
//        int i1;
//        i1 = si.g;
        stringbuffer = new StringBuffer();
        j = h.size();
        if (j != 0) {
            for (k = 0; k < i; k++) {
//        if(i1 == 0) goto _L2; else goto _L1
//_L1:
                stringbuffer.append("[");
            }
//        k++;
//_L2:
//        if(k < i) goto _L1; else goto _L3
//_L3:
            int l;
            if (j == 1) {
                String s = (String) h.elementAt(0);
                String s1 = (String) g.get(s);
                if (s1 != null) {
                    stringbuffer.append(s1);
                } else {
                    stringbuffer.append("L");
                    stringbuffer.append(s);
                    stringbuffer.append(";");
                }
            } else {
                stringbuffer.append("L");
                for (l = 0; l < j; l++) {
//        if(i1 == 0) goto _L5; else goto _L4
//_L4:
                    String s2 = (String) h.elementAt(l);
                    if (l > 0)
                        stringbuffer.append("/");
                    stringbuffer.append(s2);
                }
            }
//        l++;
//_L5:
//        if(l < j) goto _L4; else goto _L6
//_L6:
            stringbuffer.append(";");
        }
        return stringbuffer.toString();
    }

    void d() {
        i++;
    }

    public void a(uh uh1, nh nh) {
        int j;
        int k;
        j = g();
        for (k = 0; k < j; k++) {
            a(k).a(this, nh);
        }
        lh lh1 = (lh) uh1;
        lh1.a(a());
    }

    private static String z(char[] chs) {
        for (int i = 0; i < chs.length; i++) {
            byte key = 0;
            switch (i % 5) {
                case 0:
                    key = 0x72;
                    break;
                case 1:
                    key = 5;
                    break;
                case 2:
                    key = 27;
                    break;
                case 3:
                    key = 24;
                    break;
                default:
                    key = 117;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }


    static {
        g = new Hashtable(23);
        g.put(z("\020|o}".toCharArray()), "B");
        g.put(z("\021mzj".toCharArray()), "C");
        g.put(z("\026jnz\031\027".toCharArray()), "D");
        g.put(z("\024ity\001".toCharArray()), "F");
        g.put(z("\033ko".toCharArray()), "I");
        g.put(z("\036ju\177".toCharArray()), "J");
        g.put(z("\001mtj\001".toCharArray()), "S");
        g.put(z("\020jtt\020\023k".toCharArray()), "Z");
    }
}